Many computer systems today are used in a network configuration where each network computer can transmit data to other computers on the same network. Various systems and related protocols have been developed over the years to implement these networks, such as Token Ring, Ethernet and ATM. Depending upon which network is being used, certain requirements must be met, such as the type of hardware used and the particular data characteristics associated with that network.
The Ethernet local area network (LAN) has become one of the most popular and widely used computer networks. Since the beginnings of the Ethernet in the early 1970's, computer networking companies and engineering professionals have continually worked to improve Ethernet product versatility, reliability, and transmission speeds. To ensure that new Ethernet products were compatible and reliable, the Institute of Electrical and Electronic Engineers (IEEE) formed a working group to define and promote industry LAN standards. Today, the IEEE has various Ethernet working groups that are responsible for standardizing the development of new Ethernet protocols and products under an internationally well known LAN standard called the “IEEE 802.3 standard.”
There are a wide variety of standard compliant Ethernet products used for receiving, processing and transmitting data over Ethernet networks. By way of example, these networking products are typically integrated into network supporting devices, including network computers, network interface cards (NICs), routers, switching hubs, bridges and repeaters. One particular networking product that may be included within many of the above-mentioned network supporting devices is a network interface device.
Currently, two main interface devices are employed within these network supporting devices, namely Field Programmable Gate Array (FPGA) chips and Application—Specific Integrated Circuits (ASIC) chips, each having its own benefits and drawbacks, and fighting head-to-head for an increased portion of the market share in the lower volume production market. FPGAs provide a large amount of flexibility when included as part of the network interface device. Analogous with their name, FPGAs are field programmable devices that employ programmable gates to allow various configurations and can be reprogrammed in the field. This provides the ability to determine and correct any errors which may not have been detectable prior to use. Additionally, the FPGAs may be reprogrammed to accommodate new devices connected thereto.
One of the most noticed drawbacks of an FPGA, however, is its unfavorable performance. FPGAs, as compared to other network interface devices, have been known to experience certain undesirable performance issues. While FPGAs may be reprogrammed if a performance issue or an error is detected, this is not always the best solution to the problem. For example, depending on certain circumstances, an integrated device that may not be reprogrammed may be desired over a device that may be reprogrammed. One such circumstance may be the amount latency incurred due the FPGA having to interface with other devices not within the FPGA. FPGAs also experience certain density and speed issues, as compared to other network interface devices. The speed issue may be attributed to the re-programmability nature of the FPGA's gates.
As previously stated, ASIC chips are also commonly used and implemented as part of network interface devices. ASIC chips are regarded in the industry as being very fast network interface devices, providing a high performance guarantee, as compared to FPGAs. However, ASIC chips also experience certain drawbacks. One of the main drawbacks of ASIC chips, and probably the most notable deterrent against using them more frequently, is their inability to be programmed. Because they cannot be reprogrammed, an extremely large amount of time and money must be provided at an inception of the design and manufacture thereof.
Accordingly, what is needed in the art is a network interface device that includes the benefits of prior art FPGAs and ASIC chips, however, a network interface device that does not experience their drawbacks.